前篇我們聊到每台支援IPv6的機器身上的每個網卡都有一個(fe80::/64
)的鏈路本位置,那這個位置是怎麼產生出來的呢?
IPv6的EUI-64產生方法是透過該裝置網卡的mac address來作轉換,轉換後會得到一串數字,最後在前面加上特定的prefix,如link local的fe80
或是ISP業者提供的prefix,就是使用EUI-64所得到的IP位置,詳細作法如下所示:
d8:50:e6:d0:3b:d0
來作為範例d8:50:e6
以及d0:3b:d0
fffe
,變成d8:50:e6fffed0:3b:d0
d850:e6ff:fed0:3bd0
8
,變成二進位會是0100
,把前面數過來的第3位數從0變成1,就會變成0110
,換回16進位則會變成a
da50:e6ff:fed0:3bd0
fe80
結合,則該link local的IP就變成fe80::da50:e6ff:fed0:3bd0
完成使用EUI-64保證了後64bit保證沒有人會跟你搶,但就如mac address都有可能重複的情況發生時,EUI-64似乎就不是那麼美好的事情。
此外,EUI-64保證了後64bit是唯一的,那就代表,你把裝置換上不同的prefix(可能是不同網路,如iTaiwan或是FreeTPE之類的),後面64bit都不會變,因此要追蹤一個人的行蹤,似乎變得很簡單。